import Http from '../request'

/**
 * 用户相关接口
 */
export default class User {
  /**
   * 分页请求
   *
   * @param pageInfo 分页查询条件
   */
  static page(pageInfo = {}) {
    return Http.postData('/page/user', pageInfo)
  }

  /**
   * 查询全部
   *
   * @param authQuery 查询条件
   */
  static list(authQuery = {}) {
    return Http.get('/user', authQuery)
  }

  /**
   * 通过 ID 查询
   *
   * @param id ID
   */
  static find(id) {
    return Http.get(`/user/${id}`, null)
  }

  /**
   * 通过 ID 查询用户的角色
   *
   * @param id ID
   */
  static roleList(id) {
    return Http.get(`/user/${id}/role`, null)
  }

  /**
   * 创建 (新增)
   *
   * @param userDTO  user 信息
   */
  static create(userDTO) {
    return Http.postData('/user', userDTO)
  }

  /**
   * 更新
   * 根据传递的参数更新，字段为空则不更新
   *
   * @param userDTO  user 信息
   */
  static update(userDTO) {
    return Http.putData(`/user/${userDTO.id}`, userDTO)
  }

  /**
   * 通过 ID 删除
   *
   * @param id ID
   */
  static delete(id) {
    return Http.deleteData(`/user/${id}`, null)
  }

  static userRoleAuth(){
    return Http.get('/user/user&role&auth', null)
  }
}
